Explaining and Controlling Ambiguity in Dynamic Programming
نویسنده
چکیده
Ambiguity in dynamic programming arises from two independent sources, the non-uniqueness of optimal solutions and the particular recursion scheme by which the search space is evaluated. Ambiguity, unless explicitly considered, leads to unnecessarily complicated, in exible, and sometimes even incorrect dynamic programming algorithms. Building upon the recently developed algebraic approach to dynamic programming, we formalize the notions of ambiguity and canonicity. We argue that the use of canonical yield grammars leads to transparent and versatile dynamic programming algorithms. They provide a master copy of recurrences, that can solve all DP problems in a well-de ned domain. We demonstrate the advantages of such a systematic approach using problems from the areas of RNA folding and pairwise sequence comparison. 1 Motivation and Overview 1.1 Ambiguity Issues in Dynamic Programming Dynamic Programming (DP) solves combinatorial optimization problems. It is a classical programming technique throughout computer science [3], and plays a dominant role in computational biology [4, 10]. A typical DP problem spawns a search space of potential solutions in a recursive fashion, from which the nal answer is selected according to some criterion of optimality. If an optimal solution can be derived recursively from optimal solutions of subproblems [1], DP can evaluate a search space of exponential size in polynomial time and space. Sources of Ambiguity. By ambiguity in dynamic programming we refer to the following facts which complicate the understanding and use of DP algorithms: { Co-optimal and near-optimal solutions: It is well known that the \optimal" solution found by a DP algorithm normally is not unique, and there may be relevant near-optimal solutions. A single, \optimal" answer is often unsatisfactory. Considerable work has been devoted to this problem, producing algorithms providing near-optimal [15, 17] and parametric [11] solutions. { Duplicate solutions: While there is a general technique to enumerate all solutions to a DP problem (possibly up to some threshold value) [21, 22], such enumeration is hampered by the fact that the algorithm may produce the same solution several times { and in fact, this may lead to combinatorial explosion of redundancy. Heuristic enumeration techniques, and post-facto ltering as a safeguard against duplicate answers are employed e.g. in [23]. { (Non-)canonical solutions: Often, the search space exhibits additional redundancy in terms of solutions that are represented di erently, but are equivalent from a more semantic point of view. Canonization is important in evaluating statistical signi cance [14], and also in reducing redundancy among near-optimal solutions. Ambiguity examples. Strings aaaccttaa and aaaggttaa are aligned below. Alignments (1) and (2) are equivalent under most scoring schemes, while (3) may even be considered a mal-formed alignment, as it shows two deletions separated by an insertion. aaacc--ttaa aaa--ccttaa aaac--cttaa aaa--ggttaa aaagg--ttaa aaa-gg-ttaa (1) (2) (3) In the RNA folding domain, each DP algorithm seems to be a one-trick pony. Di erent recurrences have been developed for counting or estimating the number of various classes of feasible structures of a sequence of given length [12], for structure enumeration [22], energy minimization [25], and base pair maximization [19]. Again, enumerating co-optimal answers will produce duplicates in the latter two cases. In [4](p. 272) a probabilistic scoring scheme is suggested to nd the most likely RNA secondary structure { this is a valid idea, but will work correctly only if the underlying recursion scheme considers each feasible structure exactly once. Our main contributions. The recently developed technique of algebraic dynamic programming (ADP), summarized in Section 2, uses yield grammars and evaluation algebras to specify DP algorithms on a rather high level of abstraction. DP algorithms formulated this way can have all the ambiguity problems illustrated above. However, the ADP framework also helps to analyse and avoid these problems. 1. In this article, we devise a formal framework to explain and reason about ambiguity in its various forms. 2. Introducing canonical yield grammars, we show how to construct a \master copy" of a DP algorithm for a given problem class. This single set of recurrences can correctly and e ciently perform all analyses in this problem class, including optimization, complete enumeration, sampling and statistics. 3. Re-use of the master recurrences for manifold analyses provides a major advantage from a software-engineering point of view, as it enhances not only programming economy, but also program reliability. 2 A Short Review of Algebraic Dynamic Programming ADP introduces a conceptual splitting of a DP algorithm into a recognition and an evaluation phase. A yield grammar is used to specify the recognition phase (i. e. the search space of the optimization problem). A particular parsing technique turns the grammar directly into an e cient dynamic programming scheme. The evaluation phase is speci ed by an evaluation algebra, and each grammar can be combined with a variety of algebras to solve di erent problems over the same data domain, for which heretofore DP recurrences had to be developed independently.
منابع مشابه
Improving the Energy Management of Parallel Hybrid Electric Vehicle by Dynamic Programming Using Electro-Thermal Model of Battery
In this paper, an offline energy management system (EMS) is proposed for parallel hybrid electric vehicles (HEVs). The proper energy management system is necessary for dividing torque between electrical motor and Internal Combustion Engine (ICE). The battery is a crucial component of hybrid electric vehicles and affects significantly the cost and the performance of the whole vehicle. The primar...
متن کاملModern Computational Applications of Dynamic Programming
Computational dynamic programming, while of some use for situations typically encountered in industrial and systems engineering, has proved to be of much greater significance in many areas of computer science. We review some of these applications here.
متن کاملA dynamic programming approach for solving nonlinear knapsack problems
Nonlinear Knapsack Problems (NKP) are the alternative formulation for the multiple-choice knapsack problems. A powerful approach for solving NKP is dynamic programming which may obtain the global op-timal solution even in the case of discrete solution space for these problems. Despite the power of this solu-tion approach, it computationally performs very slowly when the solution space of the pr...
متن کاملBankruptcy Prediction: Dynamic Geometric Genetic Programming (DGGP) Approach
In this paper, a new Dynamic Geometric Genetic Programming (DGGP) technique is applied to empirical analysis of financial ratios and bankruptcy prediction. Financial ratios are indeed desirable for prediction of corporate bankruptcy and identification of firms’ impending failure for investors, creditors, borrowing firms, and governments. By the time, several methods have been attempted in...
متن کاملA Hybrid Dynamic Programming for Inventory Routing Problem in Collaborative Reverse Supply Chains
Inventory routing problems arise as simultaneous decisions in inventory and routing optimization. In the present study, vendor managed inventory is proposed as a collaborative model for reverse supply chains and the optimization problem is modeled in terms of an inventory routing problem. The studied reverse supply chains include several return generators and recovery centers and one collection...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2000